package com.naiterui.ehp.bs.doctor.service;

import java.util.Date;

import com.naiterui.common.repository.page.PageVO;
import com.naiterui.ehp.bp.support.exception.BusinessException;
import com.naiterui.ehp.bp.utils.notice.AppNoticeUtil;
import com.naiterui.ehp.bs.doctor.vo.PAMessageVo;

public interface IPAService {

    /**
     * <查看历史推送数据>
     *
     * @param doctorId
     * @param page
     * @param num
     * @param createTime
     *
     * @return
     *
     * @throws BusinessException Page<MessagePushHistory> <返回值描述>
     * @Throws 异常信息
     * @History 2015年7月17日 下午7:12:57 by chenlin
     */
    PageVO<PAMessageVo> findPagePaList(Long doctorId, int page, int num, Date createTime);


    /**
     * 保存系统消息并通知
     */
    void savePaWithNotice(Long doctorId, String paramValue, int type, AppNoticeUtil.DrDynamicInfo notice)
            throws BusinessException;

    /**
     * 获取指定类型模板文案
     * IPAService.getTemplateByType()
     *
     * @param type
     *
     * @return
     *
     * @Author Amber
     * @Date 2017年8月10日
     * @since 1.0.0
     */
    String getContentByType(int type, Object... params);

    /**
     * 发送站内通知，带跳转参数
     * IPAService.saveNoticeWithLinkParam()
     *
     * @param doctorId
     * @param templateParam
     * @param linkParam
     * @param type
     * @param notice
     *
     * @throws BusinessException
     * @Date 2018年3月27日
     * @since 2.16
     */
    void saveNoticeWithLinkParam(Long doctorId, String templateParam, String linkParam, int type, AppNoticeUtil.DrDynamicInfo notice)
            throws BusinessException;

    void saveNoticeWithLinkParam(Long doctorId, String[] templateParam, String[] linkParam, int type, AppNoticeUtil.DrDynamicInfo drNoticeInfo)
            throws BusinessException;

    String formatAuthSuccess(String msg,long doctorId);
}
